
J.L.canvas.Oc = J.L.Oc.extend({
    o: function(a) {
        arguments.callee.Ja.apply(this, arguments)
    },
    xk: function(a) {
        var b = J.e.Cb(a);
        this.Mi[b] || (this.Mi[b] = a.Qg(this));
        return this.Mi[b]
    },
    Mc: function(a) {
        this.l.ua.Uf.style.cssText = "";
        for (var b = a.Xa,
                 c = a.sa,
                 d = a.size.width,
                 f = a.size.height,
                 g = 0; g < b.length; g += 1) {
            var h = b[g],
                h = this.xk(h),
                k = b[g].ag();
            if (h) if (!k.visible || k.Qb[0] > c.zoom || k.Qb[1] < c.zoom) if (h = h.re(), h.length) for (k = 0; k < h.length; k += 1) h[k].parentNode === this.u && this.u.removeChild(h[k]);
            else h.parentNode === this.u && this.u.removeChild(h);
            else {
                h.Mc(a, k);
                var l = h.re(),
                    m,
                    n,
                    q = h.transform;
                if (q && l) {
                    b[g].ka = l;
                    l.length || (l = [l], q = [q]);
                    for (var r = 0; r < l.length; r += 1) {
                        m = l[r];
                        n = q[r];
                        var s = n.translate.x,
                            t = n.translate.y;
                        b[g].Hk || (s = J.e.Se(s, 2), t = J.e.Se(t, 2));
                        var u = n.scale;
                        1E-5 > Math.abs(s) && (s = 0);
                        1E-5 > Math.abs(t) && (t = 0);
                        var v = [];
                        v.push("position:absolute");
                        v.push("z-index:" + (n.Qd || b[g].get("zIndex")));
                        b[g].pm ? (v.push("top:" + (f / 2 + t) + "px"), v.push("left:" + (d / 2 + s) + "px")) : m.getContext ? (v.push("height:" + m.height * u + "px"), v.push("width:" + m.width * u + "px"), v.push("top:" + (f / 2 - t * u) + "px"), v.push("left:" + (d / 2 - s * u) + "px")) : (1 !== u && (v.push(J.a.fh[J.a.vb] + "-origin:" + s + "px " + t + "px"), v.push(J.a.fh[J.a.vb] + ":scale3d(" + u + "," + u + ",1)")), v.push("top:" + (f / 2 - t) + "px"), v.push("left:" + (d / 2 - s) + "px")); ! h.Hk && 1 !== k.opacity && "number" === typeof k.opacity && "opacity" in m.style && v.push("opacity:" + k.opacity); (m.parentNode !== this.u || J.f.Gd) && this.u.appendChild(m);
                        m.style.cssText = v.join(";")
                    }
                } else b[g].$h && (l.parentNode !== this.u || J.f.Gd) && (this.u.appendChild(l), b[g].ka = l)
            }
        }
        a = this.l.ua.Uf;
        h = this.l.ua.G;
        b = this.l.ua.ba;
        J.a.vb && "number" === typeof c.rotation && 0 !== c.rotation ? (a.style[J.a.vb + "Origin"] = d / 2 + "px " + f / 2 + "px", a.style[J.a.vb] = "rotate(" + c.rotation + "deg)", a.style.overflow = "visible", h.style.overflow = "visible", b.style.overflow = "visible") : (a.style.cssText = "", h.style.cssText = "", b.style.cssText = "");
        this.l.Qq = !1
    }
});